#include <iostream>

using namespace std;

class p1 {
	public:
		void f1() {
			cout << "p1" << endl;
		}
};

class p2 {
	public:
		void f2() {
			cout << "p2" << endl;
		}
};

template <class T>

class test {
	public:
		T obj;

		void func1() {
			obj.f1();
		}

		void func2() {
			obj.f2();
		}
};

void test1() {
	test<p1> t1;
	t1.func1();
//	t1.func2();
}

int main() {
	test1();
	return 0;
}